Routing messages are messages that are sent from one node that routes messages in a network, to one or more other nodes that route messages in the network, to inform the one or more other nodes receiving the message of the routing costs of the sender. The receiving nodes then use the information contained in the routing messages they receive to identify the path or paths by which messages should be sent, and to build and send their own routing messages using the path or paths identified.
Paths may be identified by selecting a path with the lowest cost to the destination. Conventional costs may include hop counts, i.e. the number of nodes between a node attempting to send a message that is to be routed, and the destination specified or implied by the message. Because the speed at which a message may be sent can be dramatically impacted by the hop count of a wired network, selecting a path with the lowest hop count or other low costs can allow messages to be routed as rapidly, or nearly rapidly as possible. However, conventional hop counts may not accurately address all of the issues associated with sending a message in a wireless network.
When routing messages, routing loops may occur, whereby a first node routes to another node that routes through the first node. It is desirable to avoid routing messages through such routing loops.
What is needed is a system and method that can efficiently route messages while addressing the needs of a wireless network, yet be able to accommodate frequent changes and to avoid routing loops.